package com.cn.wanxi.service;

import com.cn.wanxi.IO.NavIO;
import com.cn.wanxi.model.NavModel;
import com.cn.wanxi.util.ReadNote;
import com.cn.wanxi.util.Tool;

import java.util.ArrayList;
import java.util.List;

public class NavService {
    //这里需要封装六个对象 因为有六个导航 ,集合
    private List<NavModel> list = new ArrayList<>();//类变量


    /**
     * 对导航进行赋值,因为我们需要取得数组里面的每一个值，需要对数组进行遍历，轮询
     *
     * @return
     */
    public List<NavModel> getList() {
//        1.写数据1)地址。2）分隔符
//        Tool tool=new Tool();
        String path = Tool.NAVPATH.getPath();
        String split = Tool.SPLIT.getPath();
        NavIO navIO = new NavIO();
        navIO.writeNote(path, split);

//            2.读数据
        String result = ReadNote.readCompany(path);
//            3.封装数据
        return setNavList(result);
//        NavModel temp = new NavModel();//实例化对象,目的，就是为了得到该对象里面的两个数组的值
//        String[] hrefs = temp.getHrefs();
//        String[] titles = temp.getTitles();
////        遍历数组，将数组里面的值全部赋值给导航对象
//        for (int i = 0; i < hrefs.length; i++) {
//            NavModel navModel = new NavModel();//创建一个空的对象，对象实例化
//            navModel.setHref(hrefs[i]);
//            navModel.setTitle(titles[i]);
//            list.add(navModel);//将对象加入到集合
//        }
//        return list;
    }

    private List<NavModel> setNavList(String result) {
        String results[] = result.split(Tool.SPLIT.getPath());
        String href = results[0];
        href = href.replace("[", "").replace("]", "");//old  new
//        href = href.replace("]", "");
        String title = results[1];
        title = title.replace("[", "").replace("]", "");//old  new
//        需要將字符串转换为数组
        String hrefs[] = href.split(",");
        String titles[] = title.split(",");
//       增强for循环  for(int i=0;i<hrefs.length;i++){}
//        for (String aa : hrefs) {
//            System.out.println(aa);
//        }
//        System.out.println(href + "=======" + title);
//发现如果通过split出来的数组里面字符串第一个和最后一个有中括号,所以需要去掉中括号
        for (int i = 0; i < hrefs.length; i++) {
            NavModel navModel = new NavModel();//创建一个空的对象，对象实例化
            navModel.setHref(hrefs[i]);
            navModel.setTitle(titles[i]);
            list.add(navModel);//将对象加入到集合
        }
        return list;
    }

    public static void main(String[] args) {
        new NavService().getList();
    }
}
